// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package org.keplerproject.luajava; // Referenced classes of package org.keplerproject.luajava: // LuaStateFactory, CPtr, LuaObject, LuaException, // JavaFunction public class LuaState { private static final String LUAJAVA_LIB = "luajava"; public static final Integer LUA_ERRERR = new Integer(5); public static final Integer LUA_ERRMEM = new Integer(4); public static final Integer LUA_ERRRUN = new Integer(1); public static final Integer LUA_ERRSYNTAX = new Integer(3); public static final Integer LUA_GCCOLLECT = new Integer(2); public static final Integer LUA_GCCOUNT = new Integer(3); public static final Integer LUA_GCCOUNTB = new Integer(4); public static final Integer LUA_GCRESTART = new Integer(1); public static final Integer LUA_GCSETPAUSE = new Integer(6); public static final Integer LUA_GCSETSTEPMUL = new Integer(7); public static final Integer LUA_GCSTEP = new Integer(5); public static final Integer LUA_GCSTOP = new Integer(0); public static final Integer LUA_GLOBALSINDEX = new Integer(-10002); public static final Integer LUA_MULTRET = new Integer(-1); public static final Integer LUA_REGISTRYINDEX = new Integer(-10000); public static final Integer LUA_TBOOLEAN = new Integer(1); public static final Integer LUA_TFUNCTION = new Integer(6); public static final Integer LUA_TLIGHTUSERDATA = new Integer(2); public static final Integer LUA_TNIL = new Integer(0); public static final Integer LUA_TNONE = new Integer(-1); public static final Integer LUA_TNUMBER = new Integer(3); public static final Integer LUA_TSTRING = new Integer(4); public static final Integer LUA_TTABLE = new Integer(5); public static final Integer LUA_TTHREAD = new Integer(8); public static final Integer LUA_TUSERDATA = new Integer(7); public static final Integer LUA_YIELD = new Integer(2); private CPtr luaState; private int stateId; protected LuaState(int i) { luaState = _open(); luajava_open(luaState, i); stateId = i; } protected LuaState(CPtr cptr) { luaState = cptr; stateId = LuaStateFactory.insertLuaState(this); luajava_open(cptr, stateId); } private synchronized native int _LargError(CPtr cptr, int i, String s); private synchronized native int _LcallMeta(CPtr cptr, int i, String s); private synchronized native void _LcheckAny(CPtr cptr, int i); private synchronized native int _LcheckInteger(CPtr cptr, int i); private synchronized native double _LcheckNumber(CPtr cptr, int i); private synchronized native void _LcheckStack(CPtr cptr, int i, String s); private synchronized native String _LcheckString(CPtr cptr, int i); private synchronized native void _LcheckType(CPtr cptr, int i, int j); private synchronized native int _LdoFile(CPtr cptr, String s); private synchronized native int _LdoString(CPtr cptr, String s); private synchronized native String _LfindTable(CPtr cptr, int i, String s, int j); private synchronized native int _LgetMetaField(CPtr cptr, int i, String s); private synchronized native void _LgetMetatable(CPtr cptr, String s); private synchronized native int _LgetN(CPtr cptr, int i); private synchronized native String _Lgsub(CPtr cptr, String s, String s1, String s2); private synchronized native int _LloadBuffer(CPtr cptr, byte abyte0[], long l, String s); private synchronized native int _LloadFile(CPtr cptr, String s); private synchronized native int _LloadString(CPtr cptr, String s); private synchronized native int _LnewMetatable(CPtr cptr, String s); private synchronized native int _LoptInteger(CPtr cptr, int i, int j); private synchronized native double _LoptNumber(CPtr cptr, int i, double d); private synchronized native String _LoptString(CPtr cptr, int i, String s); private synchronized native int _Lref(CPtr cptr, int i); private synchronized native void _LsetN(CPtr cptr, int i, int j); private synchronized native int _Ltyperror(CPtr cptr, int i, String s); private synchronized native void _LunRef(CPtr cptr, int i, int j); private synchronized native void _Lwhere(CPtr cptr, int i); private synchronized native void _call(CPtr cptr, int i, int j); private synchronized native int _checkStack(CPtr cptr, int i); private synchronized native void _close(CPtr cptr); private synchronized native void _concat(CPtr cptr, int i); private synchronized native void _createTable(CPtr cptr, int i, int j); private synchronized native int _equal(CPtr cptr, int i, int j); private synchronized native int _error(CPtr cptr); private synchronized native int _gc(CPtr cptr, int i, int j); private synchronized native void _getFEnv(CPtr cptr, int i); private synchronized native void _getField(CPtr cptr, int i, String s); private synchronized native int _getGcCount(CPtr cptr); private synchronized native void _getGlobal(CPtr cptr, String s); private synchronized native int _getMetaTable(CPtr cptr, int i); private synchronized native Object _getObjectFromUserdata(CPtr cptr, int i); private synchronized native void _getTable(CPtr cptr, int i); private synchronized native int _getTop(CPtr cptr); private synchronized native void _insert(CPtr cptr, int i); private synchronized native int _isBoolean(CPtr cptr, int i); private synchronized native int _isCFunction(CPtr cptr, int i); private synchronized native int _isFunction(CPtr cptr, int i); private synchronized native boolean _isJavaFunction(CPtr cptr, int i); private synchronized native int _isNil(CPtr cptr, int i); private synchronized native int _isNone(CPtr cptr, int i); private synchronized native int _isNoneOrNil(CPtr cptr, int i); private synchronized native int _isNumber(CPtr cptr, int i); private synchronized native boolean _isObject(CPtr cptr, int i); private synchronized native int _isString(CPtr cptr, int i); private synchronized native int _isTable(CPtr cptr, int i); private synchronized native int _isThread(CPtr cptr, int i); private synchronized native int _isUserdata(CPtr cptr, int i); private synchronized native int _lessthan(CPtr cptr, int i, int j); private synchronized native void _newTable(CPtr cptr); private synchronized native CPtr _newthread(CPtr cptr); private synchronized native int _next(CPtr cptr, int i); private synchronized native int _objlen(CPtr cptr, int i); private synchronized native CPtr _open(); private synchronized native void _openBase(CPtr cptr); private synchronized native void _openDebug(CPtr cptr); private synchronized native void _openIo(CPtr cptr); private synchronized native void _openLibs(CPtr cptr); private synchronized native void _openMath(CPtr cptr); private synchronized native void _openOs(CPtr cptr); private synchronized native void _openPackage(CPtr cptr); private synchronized native void _openString(CPtr cptr); private synchronized native void _openTable(CPtr cptr); private synchronized native int _pcall(CPtr cptr, int i, int j, int k); private synchronized native void _pop(CPtr cptr, int i); private synchronized native void _pushBoolean(CPtr cptr, int i); private synchronized native void _pushInteger(CPtr cptr, int i); private synchronized native void _pushJavaFunction(CPtr cptr, JavaFunction javafunction); private synchronized native void _pushJavaObject(CPtr cptr, Object obj); private synchronized native void _pushNil(CPtr cptr); private synchronized native void _pushNumber(CPtr cptr, double d); private synchronized native void _pushString(CPtr cptr, String s); private synchronized native void _pushString(CPtr cptr, byte abyte0[], int i); private synchronized native void _pushValue(CPtr cptr, int i); private synchronized native void _rawGet(CPtr cptr, int i); private synchronized native void _rawGetI(CPtr cptr, int i, int j); private synchronized native void _rawSet(CPtr cptr, int i); private synchronized native void _rawSetI(CPtr cptr, int i, int j); private synchronized native int _rawequal(CPtr cptr, int i, int j); private synchronized native void _remove(CPtr cptr, int i); private synchronized native void _replace(CPtr cptr, int i); private synchronized native int _resume(CPtr cptr, int i); private synchronized native int _setFEnv(CPtr cptr, int i); private synchronized native void _setField(CPtr cptr, int i, String s); private synchronized native void _setGlobal(CPtr cptr, String s); private synchronized native int _setMetaTable(CPtr cptr, int i); private synchronized native void _setTable(CPtr cptr, int i); private synchronized native void _setTop(CPtr cptr, int i); private synchronized native int _status(CPtr cptr); private synchronized native int _strlen(CPtr cptr, int i); private synchronized native int _toBoolean(CPtr cptr, int i); private synchronized native int _toInteger(CPtr cptr, int i); private synchronized native double _toNumber(CPtr cptr, int i); private synchronized native String _toString(CPtr cptr, int i); private synchronized native CPtr _toThread(CPtr cptr, int i); private synchronized native int _type(CPtr cptr, int i); private synchronized native String _typeName(CPtr cptr, int i); private synchronized native void _xmove(CPtr cptr, CPtr cptr1, int i); private synchronized native int _yield(CPtr cptr, int i); public static Number convertLuaNumber(Double double1, Class class1) { if (!class1.isPrimitive()) goto _L2; else goto _L1 _L1: if (class1 != Integer.TYPE) goto _L4; else goto _L3 _L3: double1 = new Integer(double1.intValue()); _L6: return double1; _L4: if (class1 == Long.TYPE) { return new Long(double1.longValue()); } if (class1 == Float.TYPE) { return new Float(double1.floatValue()); } if (class1 == Double.TYPE) { continue; /* Loop/switch isn't completed */ } if (class1 == Byte.TYPE) { return new Byte(double1.byteValue()); } if (class1 == Short.TYPE) { return new Short(double1.shortValue()); } break; /* Loop/switch isn't completed */ _L2: if (!class1.isAssignableFrom(java/lang/Number)) { break; /* Loop/switch isn't completed */ } if (class1.isAssignableFrom(java/lang/Integer)) { return new Integer(double1.intValue()); } if (class1.isAssignableFrom(java/lang/Long)) { return new Long(double1.longValue()); } if (class1.isAssignableFrom(java/lang/Float)) { return new Float(double1.floatValue()); } if (class1.isAssignableFrom(java/lang/Double)) { continue; /* Loop/switch isn't completed */ } if (class1.isAssignableFrom(java/lang/Byte)) { return new Byte(double1.byteValue()); } if (class1.isAssignableFrom(java/lang/Short)) { return new Short(double1.shortValue()); } break; /* Loop/switch isn't completed */ if (true) goto _L6; else goto _L5 _L5: return null; } private synchronized native void luajava_open(CPtr cptr, int i); public int LargError(int i, String s) { return _LargError(luaState, i, s); } public int LcallMeta(int i, String s) { return _LcallMeta(luaState, i, s); } public void LcheckAny(int i) { _LcheckAny(luaState, i); } public int LcheckInteger(int i) { return _LcheckInteger(luaState, i); } public double LcheckNumber(int i) { return _LcheckNumber(luaState, i); } public void LcheckStack(int i, String s) { _LcheckStack(luaState, i, s); } public String LcheckString(int i) { return _LcheckString(luaState, i); } public void LcheckType(int i, int j) { _LcheckType(luaState, i, j); } public int LdoFile(String s) { return _LdoFile(luaState, s); } public int LdoString(String s) { return _LdoString(luaState, s); } public String LfindTable(int i, String s, int j) { return _LfindTable(luaState, i, s, j); } public int LgetMetaField(int i, String s) { return _LgetMetaField(luaState, i, s); } public void LgetMetatable(String s) { _LgetMetatable(luaState, s); } public int LgetN(int i) { return _LgetN(luaState, i); } public String Lgsub(String s, String s1, String s2) { return _Lgsub(luaState, s, s1, s2); } public int LloadBuffer(byte abyte0[], String s) { return _LloadBuffer(luaState, abyte0, abyte0.length, s); } public int LloadFile(String s) { return _LloadFile(luaState, s); } public int LloadString(String s) { return _LloadString(luaState, s); } public int LnewMetatable(String s) { return _LnewMetatable(luaState, s); } public int LoptInteger(int i, int j) { return _LoptInteger(luaState, i, j); } public double LoptNumber(int i, double d) { return _LoptNumber(luaState, i, d); } public String LoptString(int i, String s) { return _LoptString(luaState, i, s); } public int Lref(int i) { return _Lref(luaState, i); } public void LsetN(int i, int j) { _LsetN(luaState, i, j); } public int Ltyperror(int i, String s) { return _Ltyperror(luaState, i, s); } public void LunRef(int i, int j) { _LunRef(luaState, i, j); } public void Lwhere(int i) { _Lwhere(luaState, i); } public void call(int i, int j) { _call(luaState, i, j); } public int checkStack(int i) { return _checkStack(luaState, i); } public void close() { this; JVM INSTR monitorenter ; LuaStateFactory.removeLuaState(stateId); _close(luaState); luaState = null; this; JVM INSTR monitorexit ; return; Exception exception; exception; throw exception; } public void concat(int i) { _concat(luaState, i); } public void createTable(int i, int j) { _createTable(luaState, i, j); } public String dumpStack() { int i = getTop(); StringBuilder stringbuilder = new StringBuilder(); int j = 1; while (j <= i) { int k = type(j); stringbuilder.append(j).append(": ").append(typeName(k)); if (k == LUA_TNUMBER.intValue()) { stringbuilder.append(" = ").append(toNumber(j)); } else if (k == LUA_TSTRING.intValue()) { stringbuilder.append(" = '").append(toString(j)).append("'"); } stringbuilder.append("\n"); j++; } return stringbuilder.toString(); } public int equal(int i, int j) { return _equal(luaState, i, j); } public int error() { return _error(luaState); } public int gc(int i, int j) { return _gc(luaState, i, j); } public long getCPtrPeer() { if (luaState != null) { return luaState.getPeer(); } else { return 0L; } } public void getFEnv(int i) { _getFEnv(luaState, i); } public void getField(int i, String s) { _getField(luaState, i, s); } public int getGcCount() { return _getGcCount(luaState); } public void getGlobal(String s) { this; JVM INSTR monitorenter ; _getGlobal(luaState, s); this; JVM INSTR monitorexit ; return; Exception exception; exception; throw exception; } public LuaObject getLuaObject(int i) { return new LuaObject(this, i); } public LuaObject getLuaObject(String s) { return new LuaObject(this, s); } public LuaObject getLuaObject(LuaObject luaobject, Number number) { if (luaobject.L.getCPtrPeer() != luaState.getPeer()) { throw new LuaException("Object must have the same LuaState as the parent!"); } else { return new LuaObject(luaobject, number); } } public LuaObject getLuaObject(LuaObject luaobject, String s) { if (luaobject.L.getCPtrPeer() != luaState.getPeer()) { throw new LuaException("Object must have the same LuaState as the parent!"); } else { return new LuaObject(luaobject, s); } } public LuaObject getLuaObject(LuaObject luaobject, LuaObject luaobject1) { if (luaobject.getLuaState().getCPtrPeer() != luaState.getPeer() || luaobject.getLuaState().getCPtrPeer() != luaobject1.getLuaState().getCPtrPeer()) { throw new LuaException("Object must have the same LuaState as the parent!"); } else { return new LuaObject(luaobject, luaobject1); } } public int getMetaTable(int i) { return _getMetaTable(luaState, i); } public Object getObjectFromUserdata(int i) { return _getObjectFromUserdata(luaState, i); } public void getTable(int i) { _getTable(luaState, i); } public int getTop() { return _getTop(luaState); } public void insert(int i) { _insert(luaState, i); } public boolean isBoolean(int i) { return _isBoolean(luaState, i) != 0; } public boolean isCFunction(int i) { return _isCFunction(luaState, i) != 0; } public boolean isClosed() { this; JVM INSTR monitorenter ; CPtr cptr = luaState; boolean flag; if (cptr == null) { flag = true; } else { flag = false; } this; JVM INSTR monitorexit ; return flag; Exception exception; exception; throw exception; } public boolean isFunction(int i) { return _isFunction(luaState, i) != 0; } public boolean isJavaFunction(int i) { return _isJavaFunction(luaState, i); } public boolean isNil(int i) { return _isNil(luaState, i) != 0; } public boolean isNone(int i) { return _isNone(luaState, i) != 0; } public boolean isNoneOrNil(int i) { return _isNoneOrNil(luaState, i) != 0; } public boolean isNumber(int i) { return _isNumber(luaState, i) != 0; } public boolean isObject(int i) { return _isObject(luaState, i); } public boolean isString(int i) { return _isString(luaState, i) != 0; } public boolean isTable(int i) { return _isTable(luaState, i) != 0; } public boolean isThread(int i) { return _isThread(luaState, i) != 0; } public boolean isUserdata(int i) { return _isUserdata(luaState, i) != 0; } public int lessthan(int i, int j) { return _lessthan(luaState, i, j); } public void newTable() { _newTable(luaState); } public LuaState newThread() { LuaState luastate = new LuaState(_newthread(luaState)); LuaStateFactory.insertLuaState(luastate); return luastate; } public int next(int i) { return _next(luaState, i); } public int objLen(int i) { return _objlen(luaState, i); } public void openBase() { _openBase(luaState); } public void openDebug() { _openDebug(luaState); } public void openIo() { _openIo(luaState); } public void openLibs() { _openLibs(luaState); } public void openMath() { _openMath(luaState); } public void openOs() { _openOs(luaState); } public void openPackage() { _openPackage(luaState); } public void openString() { _openString(luaState); } public void openTable() { _openTable(luaState); } public int pcall(int i, int j, int k) { return _pcall(luaState, i, j, k); } public void pop(int i) { _pop(luaState, i); } public void pushBoolean(boolean flag) { CPtr cptr = luaState; int i; if (flag) { i = 1; } else { i = 0; } _pushBoolean(cptr, i); } public void pushInteger(int i) { _pushInteger(luaState, i); } public void pushJavaFunction(JavaFunction javafunction) { _pushJavaFunction(luaState, javafunction); } public void pushJavaObject(Object obj) { _pushJavaObject(luaState, obj); } public void pushNil() { _pushNil(luaState); } public void pushNumber(double d) { _pushNumber(luaState, d); } public void pushObjectValue(Object obj) { if (obj == null) { pushNil(); return; } if (obj instanceof Boolean) { pushBoolean(((Boolean)obj).booleanValue()); return; } if (obj instanceof Number) { pushNumber(((Number)obj).doubleValue()); return; } if (obj instanceof String) { pushString((String)obj); return; } if (obj instanceof JavaFunction) { pushJavaFunction((JavaFunction)obj); return; } if (obj instanceof LuaObject) { ((LuaObject)obj).push(); return; } if (obj instanceof byte[]) { pushString((byte[])(byte[])obj); return; } else { pushJavaObject(obj); return; } } public void pushString(String s) { if (s == null) { _pushNil(luaState); return; } else { _pushString(luaState, s); return; } } public void pushString(byte abyte0[]) { if (abyte0 == null) { _pushNil(luaState); return; } else { _pushString(luaState, abyte0, abyte0.length); return; } } public void pushValue(int i) { _pushValue(luaState, i); } public void rawGet(int i) { _rawGet(luaState, i); } public void rawGetI(int i, int j) { _rawGetI(luaState, i, j); } public void rawSet(int i) { _rawSet(luaState, i); } public void rawSetI(int i, int j) { _rawSetI(luaState, i, j); } public int rawequal(int i, int j) { return _rawequal(luaState, i, j); } public void remove(int i) { _remove(luaState, i); } public void replace(int i) { _replace(luaState, i); } public int resume(int i) { return _resume(luaState, i); } public int setFEnv(int i) { return _setFEnv(luaState, i); } public void setField(int i, String s) { _setField(luaState, i, s); } public void setGlobal(String s) { this; JVM INSTR monitorenter ; _setGlobal(luaState, s); this; JVM INSTR monitorexit ; return; Exception exception; exception; throw exception; } public int setMetaTable(int i) { return _setMetaTable(luaState, i); } public void setTable(int i) { _setTable(luaState, i); } public void setTop(int i) { _setTop(luaState, i); } public int status() { return _status(luaState); } public int strLen(int i) { return _strlen(luaState, i); } public boolean toBoolean(int i) { return _toBoolean(luaState, i) != 0; } public int toInteger(int i) { return _toInteger(luaState, i); } public Object toJavaObject(int i) { this; JVM INSTR monitorenter ; if (!isBoolean(i)) goto _L2; else goto _L1 _L1: Object obj = new Boolean(toBoolean(i)); _L4: this; JVM INSTR monitorexit ; return obj; _L2: if (type(i) == LUA_TSTRING.intValue()) { obj = toString(i); continue; /* Loop/switch isn't completed */ } if (isFunction(i)) { obj = getLuaObject(i); continue; /* Loop/switch isn't completed */ } if (isTable(i)) { obj = getLuaObject(i); continue; /* Loop/switch isn't completed */ } if (type(i) == LUA_TNUMBER.intValue()) { obj = new Double(toNumber(i)); continue; /* Loop/switch isn't completed */ } break MISSING_BLOCK_LABEL_119; Exception exception; exception; throw exception; if (!isUserdata(i)) { break MISSING_BLOCK_LABEL_153; } if (isObject(i)) { obj = getObjectFromUserdata(i); continue; /* Loop/switch isn't completed */ } obj = getLuaObject(i); continue; /* Loop/switch isn't completed */ boolean flag = isNil(i); obj = null; if (flag) { obj = null; } if (true) goto _L4; else goto _L3 _L3: } public double toNumber(int i) { return _toNumber(luaState, i); } public String toString(int i) { return _toString(luaState, i); } public LuaState toThread(int i) { return new LuaState(_toThread(luaState, i)); } public int type(int i) { return _type(luaState, i); } public String typeName(int i) { return _typeName(luaState, i); } public void xmove(LuaState luastate, int i) { _xmove(luaState, luastate.luaState, i); } public int yield(int i) { return _yield(luaState, i); } static { System.loadLibrary("luajava"); } }